package com.condominio.DB4O.control;

import java.util.List;

import com.condominio.DB4O.DB4Odao.PessoaDaoDB4O;
import com.condominio.DB4O.model.Conta;
import com.condominio.DB4O.model.Pessoa;
public class PessoaControl {

	PessoaDaoDB4O pDao=new PessoaDaoDB4O();

	/*public boolean login(Pessoa p){
		/*pDao.begin();
		Pessoa pe=pDao.findPessoaByLoginAndSenha(p);
		pDao.close();
		if(pe==null)
			return false;
		return true;/
		return false;
	}*/
	/*public boolean logout(){
		return false;
	}*/

	public boolean cadastrarPessoa(Pessoa p){
		try{
			pDao.begin();
			pDao.persist(p);
			pDao.commit();
			return true;
		}catch(Exception e){
			return false;
		}
		finally{
			pDao.close();
		}
	}


	public boolean atualizarPessoa(Pessoa p){
		try{
			pDao.begin();

			//pegar pessoa pelo ID

			Pessoa pe=pDao.find(new Pessoa(p.getId(),0));
			
			if(pe!=null){
				pe=pDao.merge(pe);
				pDao.commit();
				return true;
			}
			return false;
		}catch (Exception e) {
			return false;
		}
		finally{
			pDao.close();
		}
	}


	public List<Pessoa> findAllPessoa(){
		pDao.begin();
		List<Pessoa> pessoas=pDao.findAll();
		pDao.close();
		return pessoas;
	}

	public Pessoa findPessoaById(Pessoa p) {
		pDao.begin();
		Pessoa pe=pDao.find(new Pessoa(p.getId(),0));
		pDao.close();
		return pe;
	}

	public Pessoa findPessoaByLoginAndSenha(Pessoa p){
		/*try {
			Pessoa pe=pDao.findPessoaByLoginAndSenha(p);
			return pe;
		}catch (Exception e) {
			return null;
		}
		finally{
			pDao.close();
		}*/
		return null;
	}

	public Pessoa findPessoaByAP(Pessoa p){
		pDao.begin();
		Pessoa pe=pDao.find(new Pessoa(0,p.getApartamento()));
		pDao.close();
		return pe;
				
	}



	public boolean excluirPessoa(Pessoa p) {

		/*		try {
			pDao.begin();
			Pessoa pe = (Pessoa)pDao.findPessoaByAP(p);

			if(pe==null) {
				return false;
			}
			else{
				pDao.remove(pe);
				pDao.flush();
				pDao.commit();
				return true;
			}
		}
		catch(Exception e) {

			return false;
		}
		finally {
			pDao.close();
		}
		 */
		return false;
	}
}
